package ftdpc.application;


import fdupc.http.ResultBean;
import ftdpc.bean.TaskAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 类描述:  任务调度管理交互
 *
 * @author 王雷
 * @version 1.0.0
 * @date 2022/8/16 0016 下午 8:32
 */
public interface IDispatchTaskController {

    /**
     * 功能描述：获取所有任务描述属性
     *
     * @date : 2022/6/22 0022 下午 3:41
     */
    @ResponseBody
    ResultBean giveTaskAttributeList();

    /**
     * 功能描述：根据标识获取任务描述属性
     *
     * @param taskKey 配置标识
     * @date : 2022/9/14 0014 下午 1:01
     */
    @ResponseBody
    ResultBean giveTaskAttributeItem(@RequestParam String taskKey);

    /**
     * 功能描述：获取任务日志信息
     *
     * @param taskKey 配置标识
     * @date : 2022/9/14 0014 下午 1:01
     */
    @ResponseBody
    ResultBean giveTaskLog(@RequestParam String taskKey);

    /**
     * 功能描述：修改配置属性
     *
     * @param taskAttribute 配置属性
     * @date : 2022/9/14 0014 下午 3:24
     */
    @ResponseBody
    ResultBean updateAttribute(@RequestBody TaskAttribute taskAttribute);

    /**
     * 功能描述：将配置存入配置
     *
     * @param taskKey 配置标识
     * @date : 2022/9/14 0014 下午 1:01
     */
    @ResponseBody
    ResultBean putToConfig(@RequestParam String taskKey);

    /**
     * 功能描述：线程启动
     *
     * @param taskKey 配置标识
     * @date : 2022/9/14 0014 下午 1:01
     */
    @ResponseBody
    ResultBean taskStartOrStop(@RequestParam String taskKey);
}
